There is an increased pressure to optimize the distribution of tasks which require significant and/or variable computing resources over networks of computing nodes. This is done by allocating the processes which execute the tasks to a number of virtual machines (VM) which can be created at a moment in time on a first physical machine or cluster of machines and then may or may not be migrated, partially or in totality, to a second physical machine or cluster when the first one has not enough capacity, is used for other tasks which take precedence, or has a cost of usage which has increased. Private and shared or public cloud resources have therefore been developed. Private cloud resources are data centers which belong to a single operator and are permanently under its control. These resources may nevertheless be located in different geographical locations, including in different countries. Shared cloud resources are for instance formed by collections of portions of private data centers the owners of which lease their excess capacity to a third party operator which will rent this excess capacity to users, i.e. Infrastructure as a Service (IaaS). There are a number of different types of contracts under which the usage may be controlled and priced. In most of these cases, the end user and third party operator, have no idea of where his/her/their application is executed. Allocation of applications to VMs and to physical machines will take into account availability and/or Quality of Service (QoS). It may further take into account the cost of the resource at a moment in time.
The location of the physical machine is normally not taken into account in perform allocation. This would contradict the basic principles of a cloud architecture which is by definition location agnostic.
But this is seen as a barrier to a wider use of the cloud infrastructure by a number of possible users for a number of reasons.
For instance, it may be advantageous to constrain some heavy duty tasks on machines which are located in proximity to dense user areas. This is for example the case for video distribution edge servers because of the degradation of the QoS which results from a high latency.
Also, some restrictions may apply to certain applications, which are based on local regulations. It is notably the case for tax laws, copyright licenses, privacy laws, electronic data retention laws, and legal intercepts.
Some users may also not want that their mission critical applications be executed on servers which may be located in countries over which they have no control. In addition, such users may also be sensitive to the higher vulnerability of servers which have a large diversity of users. For instance, a telecommunication operator will need to make sure that its key processes (network management, client relations management, billing, access point management, network handover management, etc.) remain in a definite jurisdiction and are executed on computing nodes which are better protected against malicious attacks (hacking, corruption, data piracy, etc. . . . ).
Secure processing units have been developed and normalized to ensure that a computing node can be trusted. These secure processing units are capable of executing in a physically confined environment authentication, encryption and decryption functions.
The use which is done of these functions depends on the security policy which is implemented on the host on which they are integrated. They can be used to authenticate access of authorized users to the trust zones of the host, to encrypt all data travelling outside of the trust zone, and/or to generate a signature of messages sent by the host to other hosts.
It has also been proposed to supplement the signature of computing nodes in the cloud by a fixed geotag which gives the location of the node (National Institute of Standards Internal Report 7904, US Department of Commerce, July 2015).
Such an association does not offer a guarantee that the node has not been moved from its authorized location to another location and does not provide the kind of guarantee which is needed for some of the applications which will be probably deployed on machines located in the cloud in the coming years.
It is therefore an object of the invention to overcome this limitation.